package com.cskaoyan.javase.variable4.introduction1;

/**
 * @description: 介绍引用数据类型和基本数据类型
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * 基本数据类型:(四类八种)
 * 1,整数(整型):
 *   byte: 占1个字节
 *   short: 占2个字节
 *   int: 占4个字节
 *   long: 占8个字节
 * 整数在内存当中是以符号数的形式的存储,首位是符号位,然后后面是二进制数
 * 2,浮点数(浮点型):
 *  float:单精度的浮点数,占4个字节
 *  double:双精度的浮点数,占8个字节
 * 3,字符类型:
 *  char:占用2个字节的,表示单个字符,'A','B'
 * 4,布尔类型:
 *   boolean
 *  表示true或者false
 *  jvm规范中,当布尔类型作为一个变量的时候,占用4个字节,相当于一个int
 *  如果布尔类型的变量处在数组当中时,一个布尔类型的元素占1个字节,byte
 *
 *  引用数据类型:
 *    1,一个变量,只要不是基本数据类型,都是引用数据类型
 *    2,目前我们的String就是典型的引用数据类型
 *
 * 浮点类型和整数类型在内存中的表示方式是不同的,
 * IEEE 754标准
 * 浮点类型: 符号位 阶码 尾数,表示一个很大的数
 * 阶码是表示指数,尾数是表示它的精度
 *
 */
public class Demo {
    public static void main(String[] args) {
        String s ="Hello world!";
        System.out.println(s);

        System.out.println(1E2);

        //什么叫做有效位数 只能表示这么长的一个数 所以说浮点类型是有精度问题
        //单精度的浮点数 比 双精度的浮点数 表示的有效位数要少
        float d = 10.0F; //3.3333333
        System.out.println(d/3);
    }
}
